package com.torresquintero.oncologos.entidades;

import java.io.Serializable;
import java.lang.Long;
import javax.persistence.*;

/**
 * Entidad que representa el DetalleFabricante
 *
 */
@Entity
@NamedQueries({
	@NamedQuery(name=DetalleFabricante.FIND_DETALLE_FABRICANTE_BY_CODIGO_FABRICANTE,query="select det from DetalleFabricante det where det.fabricante.codigo=:"+DetalleFabricante.PARAMETRO_CODIGO_FABRICANTE),
	@NamedQuery(name=DetalleFabricante.FIND_DETALLE_FABRICANTE_BY_CODIGO_MEDICAMENTO,query="select det from DetalleFabricante det where det.medicamento.codigo=:"+DetalleFabricante.PARAMETRO_CODIGO_MEDICAMENTO),
	@NamedQuery(name=DetalleFabricante.FIND_ALL,query="select det from DetalleFabricante det")
})
public class DetalleFabricante implements Serializable {
	
	/**
	 * Constante para la named Query de buscar todos los detalle fabricante.
	 */
	public static final String FIND_ALL = "DetalleFabricante.findAll";
	
	/**
	 * Constante para la named query de buscar DetalleFabricante por codigo de fabricante.
	 */
	public static final String FIND_DETALLE_FABRICANTE_BY_CODIGO_FABRICANTE="DetalleFabricante.findDetalleFabricanteByCodigoFabricante";
	
	/**
	 * Constante para el parametro de codigo de fabricante.
	 */
	public static final String PARAMETRO_CODIGO_FABRICANTE="codigoFafricante";
	
	/**
	 * Constante para la named query de buscar DetalleFabricante por codigo de medicamento.
	 */
	public static final String FIND_DETALLE_FABRICANTE_BY_CODIGO_MEDICAMENTO="DetalleFabricante.findDetalleFabricanteByCodigoMedicamento";
	
	/**
	 * Constante para el parametro de codigo de medicamento.
	 */
	public static final String PARAMETRO_CODIGO_MEDICAMENTO="codigoMedicamento";
	/**
	 * Constante de serializacion.
	 */
	private static final long serialVersionUID = 1L;
	
	/**
	 * Identificador unico de la entidad.
	 */
	@Id
	@GeneratedValue(strategy=GenerationType.IDENTITY)
	private Long id;
	

	@ManyToOne
	@JoinColumn(name="FABRICANTE")
	private Fabricante fabricante;

	@ManyToOne
	@JoinColumn(name="MEDICAMENTO")
	private Medicamento medicamento;
	

	public DetalleFabricante() {
		super();
	}


	/**
	 * @return the id
	 */
	public Long getId() {
		return id;
	}


	/**
	 * @param id the id to set
	 */
	public void setId(Long id) {
		this.id = id;
	}


	/**
	 * @return the fabricante
	 */
	public Fabricante getFabricante() {
		return fabricante;
	}


	/**
	 * @param fabricante the fabricante to set
	 */
	public void setFabricante(Fabricante fabricante) {
		this.fabricante = fabricante;
	}


	/**
	 * @return the medicamento
	 */
	public Medicamento getMedicamento() {
		return medicamento;
	}


	/**
	 * @param medicamento the medicamento to set
	 */
	public void setMedicamento(Medicamento medicamento) {
		this.medicamento = medicamento;
	}   
	
	//:TODO:falta toString
   
}
